package com.example.jdbc_test.util;

import java.sql.*;
import java.util.logging.Logger;

/**
 * @ClassName 原生JDCBUtil连接数据库
 * @Description TODO
 * @Author Kx
 * @Date 2025/2/25 9:36
 * @Version 1.0
 */
public class JDBCUtil {
    /**
     * 连接驱动程序
     */
    private static final String DRIVER = "com.mysql.cj.jdbc.Driver";
    /**
     * 连接URL
     */
    private static final String URL = "jdbc:mysql://127.0.0.1:3306/jdbc_test";
    /**
     * 帐号
     */
    private static final String USER = "root";
    /**
     * 密码
     */
    private static final String PASS = "password";

    /**
     * 日志记录器
     **/
    private static final Logger logger = Logger.getLogger(JDBCUtil.class.getName());

    static {
        /*
         * 加载驱动程序
         */
        try {
            Class.forName(DRIVER);
        } catch (ClassNotFoundException e) {
            logger.severe("加载驱动程序失败..." + e.getMessage());
        }
    }

    /**
     * 获取连接对象 -- Java程序 与 数据库之间的桥梁
     *
     * @return
     */
    public static Connection getConnection() {
        Connection conn = null;
        try {
            conn = DriverManager.getConnection(URL, USER, PASS);
        } catch (SQLException e) {
            System.out.println("获取连接对象失败...");
            e.printStackTrace();
        }
        return conn;
    }

    /**
     * @description:关闭连接资源
     * @author: Kx
     * @date: 2025/2/24 19:37
     * @param:
     * @return:
     **/

    public static void close(ResultSet rst, Statement stmt, Connection conn){
        try{
            // 关闭结果集
            if(rst != null){
                rst.close();
            }
            // 关闭接口
            if(stmt != null){
                stmt.close();
            }
            // 关闭连接
            if(conn != null){
                conn.close();
            }
        }catch (SQLException e){
            e.printStackTrace();
        }
    }
}
